The present invention relates generally to Digital Video Disc (DVD) drives, and particularly to a method and an apparatus for automatically preventing data from being written to or copied from defective physical sectors of a DVD.
DVD, an acronym for Digital Video Disc or Digital Versatile Disc, is a generic name for Compact-Discs recorded in a variety of formats. With a minimum capacity of approximately 4.7 gigabytes, a typical DVD can store a full length motion picture. A great deal more storage is possible using multi-layer technology, advanced compression schemes and shorter wavelength optical beams. There are currently several DVD physical formats in use. Among them are DVD-ROM, DVD-RAM, DVD-RW, DVD+RW and DVD-R. Other formats are in various stages of development.
Compact Discs store data in physical areas on the disc known as sectors. Some of these sectors are determined to be defective either during the manufacturing process or at the time of data recording due, for example, to process imperfections and impurities such as foreign particles embedded onto the surface of the disc. Such defects frequently render the flawed area of the disc unusable; however, where there are not too many defects, rather than discarding the entire disc, methods are employed to identify the defects so they can be avoided. Conventionally, the storage medium is tested after manufacturing to determine those sectors with defective segments. The corresponding sector IDs (i.e., a physical addresses or other unique identifier of a sector) are compiled into a primary defect list (PDL) which is then stored on a designated area of the disc.
Between the time of manufacture and the time of recording, additional defects may result from, e.g., handling or exposure to the environment. Any additional defective sectors must thus be identified prior to recording. The process of scanning for defects prior to recording is called disc xe2x80x9ccertification.xe2x80x9d Addresses for those additional defective sectors are listed in a secondary defect list (SDL).
Once all of the defective sectors have been identified, the DVD (or the computer controlling the DVD) can keep track of the physical location (xe2x80x9cphysical sectorxe2x80x9d) where a sector of data (xe2x80x9clogical sectorxe2x80x9d) is to be written. The DVD recording process stores logical sectors on physical sectors of the disk according to an identifier typically referred to as a logical sector (ID). Thus, two logical sectors with contiguous IDs will be stored in adjacent physical sectors, provided that neither physical sector is defective. A defect management scheme determines where the logical sector of data with the next ID should be physically located on the DVD when a defective physical sector is encountered.
FIG. 1 illustrates two defect management schemes, xe2x80x9cSlipxe2x80x9d and xe2x80x9cSkip.xe2x80x9d The first two rows indicate that physical sectors Nxe2x88x92N+2 and N+4xe2x88x92N+5 are good, while physical sector N+3 is defective. In the absence of defects, both defect management schemes record logical sectors Mxe2x88x92M+2 in physical sectors Nxe2x88x92N+2. Upon encountering defective physical sector N+3, a Slip Defect Management Scheme dictates that the next logical sector, M+3, be recorded in the closest good physical sector, N+4. Thereafter, logical sector M+4 is recorded in physical sector, N+5.
In contrast, a Skip Defect Management Scheme responds to defective physical sector N+3 by skipping the recording of logical sector M+3 on the current track. Recording on the current track continues, and the data associated with the next logical sector ID is recorded in the next good physical sector, N+4. After completing the recording of the current track, skipped logical sectors are recorded on an alternate track of the DVD.
On a DVD, logical sectors of data are grouped into Error Correction Code (ECC) Blocks. A typical ECC Block includes up to 16 contiguous logical sectors of user data, in addition to parity data. Each logical sector typically includes 2 Kbytes of data and begins with the sector""s ID. FIG. 2 illustrates schematically one example of an ECC Block 20 including 208 rows, each 182 bytes long. One-hundred-ninety-two of the two-hundred-eight rows of ECC Block 20 include 172 bytes of data and 10 bytes of Parity Inward (PI) data and check bytes. The remaining 16 rows of ECC Block 20 are devoted to Parity Outward (PO) data and check bytes. While illustrated in FIG. 2 as located adjacent one another, these sixteen rows are interleaved between the other, non-PO rows, one PO row to every 12 non-PO rows. Thus, of the 37 Kbytes included within ECC Block 20, only 32 Kbytes represent user data. FIG. 3 illustrates one example of a DVD Player, which includes an Optical pick-up Unit (OPU), a Read channel, Parity Error Correction Module, a Memory Interface and a Data Buffer. The OPU converts information read from the physical sectors of a DVD into an analog RF signal. The Read Channel converts the RF signals into digital signals. The Parity Error Correction Module uses the PI and PO bytes of the ECC Block to correct parity errors. The Memory Interface then places the logical sectors of the ECC Block into the Data Buffer.
FIG. 4A illustrates symbolically the contents of the Data Buffer after initial processing of a pair of contiguous ECC Blocks. (Note: it is assumed that the Slip Defect Management Scheme was used during the recording process.) The data read from thirty-four physical sectors, Nxe2x88x92N+33, are stored therein. Two of these physical sectors are defective, physical sector IDs N+1 and N+5, and store corrupted data, rather than user data. Thus, these thirty four physical sectors correspond to just thirty-two logical sectors of data, logical sector IDs Mxe2x88x92Mxe2x88x9231. Interjected between the data associated with these logical sectors is the corrupted data read from the defective physical sectors. As such, the data within the Data Buffer is not organized in the fashion required by the Display Device that reads the Data Buffer. FIG. 4B illustrates symbolically the desired organization of the Data Buffer given the same pair of ECC Blocks. The Data Buffer contains the data associated with thirty-two contiguous logical sectors, without any corrupted data associated with the defective physical sectors.
Various methods have been used for rearranging the data within the Data Buffer into the desired order. One approach uses software external to the DVD Player to rearrange the data within Data Buffer. This approach is time intensive, primarily because of the memory constraints of the Data Buffer. The other approach adds a second Data Buffer to the DVD, thereby decreasing the time required to arrange data in Logical Sector ID order, but increasing the cost of the DVD player. Thus, a need exists for a cost effective and efficient method and apparatus for copying logical sectors of data into a data buffer in order of logical sector ID. Likewise, in write to disc operations, firmware usually controls the operation which will create disjointed write extents every time a defective sector is encountered. The firmware will typically write a defect in a different way causing a disruption in the flow of data and then proceed past the defect and revert to the traditional sequential write schemes. This stop-start firmware controlled defect management scheme results in extremely low performance. Thus, a need also exists for a cost effective and efficient method and apparatus for writing logical sectors of data to disc.